ACTOR Sickle : Weapon
{
    +MELEEWEAPON
    +INVENTORY.UNDROPPABLE
	+NOALERT
	Weapon.KickBack 100
	+UNDROPPABLE
	Weapon.SelectionOrder 6
	Weapon.BobStyle InverseSmooth
    Weapon.BobSpeed 2.1
	Weapon.BobRangeY 0.4
	Weapon.BobRangeX 0.5
    States
    {
    Select:
		SCKL A 1 A_Raise
		TNT1 A 0 A_Raise
		Loop
    Deselect:
		SCKL A 1 A_lower
		TNT1 A 0 A_lower
		Loop
    Ready:
		SCKL A 1 A_weaponready
		Loop
    Fire:
		SCKL A 1 Offset (32,32)
		SCKL A 1 Offset (28,32)
		SCKL A 1 Offset (24,32)
		SCKL B 1 Offset (22,32) A_PlayWeaponSound("NecromancerSickleMiss")
		SCKL B 1 Offset (15,32)
		SCKL B 1 Offset (10,32)
		SCKL C 1 Offset (20,33) A_FireBullets(0,0,1,ACS_NamedExecuteWithResult("WOC Player Scale", FRandom(20,35), STRENGTH, 0, ACTIVATOR),"SicklePuff",FBF_NORANDOM,136)
		SCKL C 1 Offset (12,34)
		SCKL C 1 Offset (0,36)
		SCKL C 1 Offset (-10,36)
		SCKL D 1 Offset (40,36)
		SCKL D 1 Offset (36,39)
		SCKL D 1 Offset (32,42)
		TNT1 A 3
		TNT1 A 0 A_ReFire
		TNT1 A 2
		SCKL N 2
		goto Ready
    Altfire:
		SCKL N 2
		TNT1 A 2
	AltHold:
		SCKL I 1 Offset (36,38)
		SCKL I 1 Offset (34,34)
		SCKL I 1 Offset (32,32)
		SCKL I 1 Offset (30,30)
		SCKL J 1 Offset (31,31)
		SCKL J 1 Offset (33,33)
		SCKL K 1 Offset (35,35)
		SCKL K 1 Offset (36,36) A_PlayWeaponSound("NecromancerSickleMiss")
		SCKL L 1 Offset (38,28)
		SCKL L 1 Offset (32,32)
		SCKL L 1 Offset (28,38)
		SCKL H 1 Offset (39,32) A_FireBullets(0,0,1,ACS_NamedExecuteWithResult("WOC Player Scale", FRandom(40,60), STRENGTH, 0, ACTIVATOR),"SicklePuff",FBF_NORANDOM,136)
		TNT1 A 9
		TNT1 A 0 A_ReFire
		TNT1 A 2
		SCKL N 2
		Goto Ready
    }
}

Actor SicklePuff : HammerPuff
{
	+PUFFGETSOWNER
	+THRUGHOST
	+MTHRUSPECIES
	Damagetype "Physical"
	AttackSound "NecromancerSickleHitWall"
	SeeSound "NecromancerSickleHitThing"
    ActiveSound ""
	States
	{
	Spawn:
	Melee:
		FHFX S 0
		FHFX S 1 A_AlertMonsters(136)
		FHFX S 1 A_GiveToTarget("ScreenPitch2")
		FHFX SS 1 A_GiveToTarget("ScreenPitch1Back")
		FHFX TUVW 4
		Stop
	Crash:
		FHFX S 1
		FHFX S 0 //A_AlertMonsters(136)
		FHFX S 1 A_GiveToTarget("ScreenPitch2")
		FHFX SS 1 A_GiveToTarget("ScreenPitch1Back")
		FHFX TUVW 4
		Stop
	}
}